<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/javascript">
      var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精'];
      /* 
        slice()
          - 可以用来从数组中提取指定元素
          - 该方法不会改变原数组,而是将截取到的元素封装到一个新数组中返回
          - 参数:
                1. 截取开始的位置的索引,包含开始索引
                2. 截取结束的位置的索引,不包含结束索引
                      - 第二个参数可以省略不写,此时会截取从开始索引往后的所有元素
                - 索引可以传递一个负值,如果传递一个负值,则从后往前计算
                  -1 倒数第一个
                  -2 倒数第二个
      */
      var result = arr.slice(1, 4); //从索引0开始到索引2结束, 孙悟空,猪八戒
      console.log(result.slice(1));

      result = arr.slice(1, -1);
      console.log(result);

      /* 
        splice()
          - 可以用于删除数组中的指定元素
          - 使用splice()会影响到原数组,会将指定元素从原数组中删除
                并将被删除的元素作为返回值返回
          - 参数:
                第一个,表示开始位置的索引
                第二个,表示删除的数量
                第三个及以后...
                      可以传递一些新的元素,这些元素将会自动插入到开始位置索引前面
      */
      arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精'];
      var result = arr.splice(0, 1, '牛魔王');

      console.log(arr);
    </script>
  </head>
  <body></body>
</html>
